Mechanism for facilitating dynamic simulation of avatars corresponding to changing user performances as detected at computing devices

ABSTRACT

A mechanism is described for facilitating dynamic simulation of avatars based on user performances according to one embodiment. A method of embodiments, as described herein, includes capturing, in real-time, an image of a user, the image including a video image over a plurality of video frames. The method may further include tracking changes in size of the user image, the tracking of the changes may include locating one or more positions of the user image within each of the plurality of video frames, computing, in real-time, user performances based on the changes in the size of the user image over the plurality of video frames, and dynamically scaling an avatar associated with the user such that the avatar is dynamically simulated corresponding to the user performances.

CROSS-REFERENCE TO RELATED APPLICATION

This patent application is a U.S. National Phase Application under 35U.S.C. §371 of International Application No. PCT/CN2013/087127, filedNov. 14, 2013, entitled MECHANISM FOR FACILITATING DYNAMIC SIMULATION OFAVATARS CORRESPONDING TO CHANGING USER PERFORMANCES AS DETECTED ATCOMPUTING DEVICES by Wenlong Li, et al., the benefit and priority areclaimed thereof and the entire contents of which are incorporated hereinby reference.

FIELD

Embodiments described herein generally relate to computers. Moreparticularly, embodiments relate to a mechanism for facilitating dynamicsimulation of avatars corresponding to changing user performances asdetected by computing devices.

BACKGROUND

Avatars are well-known and widely used in various systems and softwareapplications, such as telecommunication applications, user interfaceapplications, computer games, etc. An avatar may refer to an animatedversion of a human face, an animal face, a cartoon face, etc. Avatarsare often used by users who wish to preserve their privacy by notrevealing their real face.

Although a face avatar is supposed to represent the corresponding user'sface, today's avatars are limited in that they do not correspondinglyfollow the changing expressions or gestures of the user's face. Forexample, camera-based face tracking can only track a limited number offacial features and are inadequate to drive avatar facial expressionanimations.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are illustrated by way of example, and not by way oflimitation, in the figures of the accompanying drawings in which likereference numerals refer to similar elements.

FIG. 1 illustrates an avatar simulation mechanism at a computing deviceaccording to one embodiment.

FIG. 2A illustrates an avatar simulation mechanism according to oneembodiment.

FIG. 2B illustrates snapshots of an avatar being driven by a user'sfacial performance according to one embodiment.

FIG. 2C illustrates snapshots of an avatar being driven by a user'sfacial performance according to one embodiment.

FIG. 3 illustrates a method for facilitating user performance-basedsimulation and presentation of a corresponding avatar at a computingdevice according to one embodiment.

FIG. 4 illustrates computer system suitable for implementing embodimentsof the present disclosure according to one embodiment.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth.However, embodiments, as described herein, may be practiced withoutthese specific details. In other instances, well-known circuits,structures and techniques have not been shown in details in order not toobscure the understanding of this description.

Embodiments provide for a technique for facilitating afacial-performance driven avatar on computing devices based on real-time(or super real-time) simulation of the user's performances, such as headmovements, including zooming-in and/or zooming-out of the user's facerelative to a computing device, facial expression changes, etc.Embodiments may provide a new and robust detecting/tracking algorithmalong with a technique for calculating and extracting facial gesturesand size/distance relevant to a computing device and accordingly,scaling and simulating the avatars. For example, in one embodiment, atechnique is provided that can zoom-in/out a facial performance drivenavatar on a computing devices, such as mobile computing device, withouthaving the need for using depth sensors (e.g., it may be impractical toput a depth sensor on a mobile computing device) and instead, thetechnique may compute the zoom-in and zoom-out scale factor that maythen be used to adjust the facial driven avatar size on the displayscreen associated with the computing device.

It is to be noted that although human face is used as an examplethroughout the document for the sake of brevity, clarity, and ease ofunderstanding, embodiments are not limited in that manner and that theterm user may refer to a single person, multiple persons, other livingbeings (e.g., dogs, cats, plants, etc.), and even non-living objects(e.g., statues, televisions, musical instruments, etc.). Further, forexample, embodiments may be applied not only to the face of a singleperson, but that embodiments are equally applicable to and compatiblewith a group of persons, not merely limited to their faces, along withtheir pets and/or other objects, etc. Similarly, embodiments are notlimited to a single computing device or a particular type of computingdevice, such as a smartphone, but that any number and type of devicesmay be used, such as computing devices with multiple or extend displays,small screens, big screens, and even massive screens, such as storedisplays, magic mirrors, having the ability to depth track any numberand form of persons, pets, objects, etc., may be used.

FIG. 1 illustrates an avatar simulation mechanism 110 at a computingdevice 100 according to one embodiment. Computing device 100 serves as ahost machine for hosting avatar simulation mechanism (“avatarmechanism”) 110 that includes a combination of any number and type ofcomponents for detecting changing expressions and movements of users(e.g., users' faces) and facilitating dynamic generation and movement oftheir corresponding avatars at computing devices, such as computingdevice 100. Computing device 100 may include large computing systems,such as server computers, desktop computers, etc., and may furtherinclude set-top boxes (e.g., Internet-based cable television set-topboxes, etc.), global positioning system (GPS)-based devices, etc.Computing device 100 may include mobile computing devices, such ascellular phones including smartphones (e.g., iPhone® by Apple®,BlackBerry® by Research in Motion®, etc.), personal digital assistants(PDAs), tablet computers (e.g., iPad® by Apple®, Galaxy 3® by Samsung®,etc.), laptop computers (e.g., notebook, netbook, Ultrabook™, etc.),e-readers (e.g., Kindle® by Amazon®, Nook® by Barnes and Nobles®, etc.),etc.

Computing device 100 may include an operating system (OS) 106 serving asan interface between hardware and/or physical resources of the computerdevice 100 and a user. Computing device 100 further includes one or moreprocessors 102, memory devices 104, network devices, drivers, or thelike, as well as input/output (I/O) sources 108, such as touchscreens,touch panels, touch pads, virtual or regular keyboards, virtual orregular mice, etc. It is to be noted that terms like “node”, “computingnode”, “server”, “server device”, “cloud computer”, “cloud server”,“cloud server computer”, “machine”, “host machine”, “device”, “computingdevice”, “computer”, “computing system”, and the like, may be usedinterchangeably throughout this document. It is to be further noted thatterms like “application”, “software application”, “program”, “softwareprogram”, “package”, and “software package” may be used interchangeablythroughout this document. Similarly, terms like “job”, “input”,“request” and “message” may be used interchangeably throughout thisdocument.

FIG. 2A illustrates an avatar simulation mechanism 110 according to oneembodiment. In one embodiment, avatar mechanism 110 may be employed atcomputing device 100, such as a laptop computer, a desktop computer, asmartphone, a tablet computer, etc. In one embodiment, avatar mechanism110 may include any number and type of components, such as: receptionand capturing logic 201; detection/tracking logic 203 including meshingand mapping module 205; computation engine 207 including reference valuecalculation logic 209, image size calculation logic 211, and avatarscale factor calculation logic 213; extraction and deformation logic215; scaling logic 217; and communication/compatibility logic 219.

In one embodiment, reception and capturing logic 201 facilitates animage capturing device, such as camera 221, at computing device 100 toreceive and capture an image associated with a user, such as a live andreal-time image of the user's face being in front of camera 221 ofcomputing device 100. As the live image of the user's face is receivedand captured, the user's face and its movements and expressions may becontinuously, and in real-time, detected and tracked in live videoframes by detection/tracking logic 203. The detecting and tracking ofthe user's face and its movements and expressions as performed bydetection/tracking logic 203 may include detecting the user's face anddetermining various features of the face, such as positions of featurepoints, which may then be used to determine facial expression movementsand head rigid movements. Further, based on these features, similarexpression features may be accessed at and retrieved from a motioncapture database, such as database 240. For more details, see U.S.patent application Ser. No. 13/977,682, filed Jun. 29, 2013, U.S.National Phase of PCT/CN2011/072603, filed Apr. 11, 2011, entitledAvatar Facial Expression Techniques, by Yangzhou Du, et al.

In some database, database 240 may be used to record, store, andmaintain data relating to various human facial expressions, such asmile, frown, laugh, cry, anger, happy, surprise, speak, silent, eat,drink, sing, yawn sneeze, and the like. These expressions may berecorded as sequences of frames where each frame may include multiplefeatures, such as the following nine features: 1) distance between upperand lower lips; 2) distance between two mouth corners; 3) distancebetween upper lip and nose tip; 4) distance between lower lip and nosetip; 5) distance between nose-wing and nose tip; 6) distance betweenupper and lower eyelids; 7) distance between eyebrow tip and nose-tip;8) distance between two eyebrow tips; and 9) distance between eyebrowtip and eyebrow middle. Database 240 may include a data source, aninformation storage medium, such as memory (volatile or non-volatile),disk storage, optical storage, etc.

In one embodiment, based on the features retrieved from database 240,meshing and mapping module 205 employs a three-dimensional (3D) mesh tolocate various facial points and maps them to the corresponding avatar.This may involve normalizing and remapping the human face to the avatarface, copying the facial expression changes to the avatar, and thendriving the avatar to perform the same facial expression changes as inthe retrieved features. In embodiments, meshing and mapping module 205may include graphics rendering features that allow the avatar to beoutput by a display device 230 associated with computing device 100. Forexample, display screen or device 230 may visually output the avatar tothe user and similarly, one or more display devices, such as displaydevice 255, associated with one or more other computing devices, such ascomputing device 250, may display the same simulated avatar to theirrespective users. Further, display device 230 may be implemented withvarious display(s) including (but are not limited to) liquid crystaldisplays (LCDs), light emitting diode (LED) displays, plasma displays,and cathode ray tube (CRT) displays.

Computing device 250 may be in communication with computing device 100over one or more networks, such as network 270 (e.g., cloud network, theInternet, intranet, cellular network, proximity or near proximitynetworks, etc.). Computing device 250 may further include user interface260, communication logic 265, and one or more software applicationsincluding avatar mechanism 110.

In embodiments, detection/tracking logic 203 may receive image data fromimage source 225, where the image data may be in the form of a sequenceof images or frames (e.g., video frames). Image sources 225 may includean image capturing device, such as a camera. Such a device may includevarious components, such as (but are not limited to) an optics assembly,an image sensor, an image/video encoder, etc., that may be implementedin any combination of hardware and/or software. The optics assembly mayinclude one or more optical devices (e.g., lenses, mirrors, etc.) toproject an image within a field of view onto multiple sensor elementswithin the image sensor. In addition, the optics assembly may includeone or more mechanisms to control the arrangement of these opticaldevice(s). For example, such mechanisms may control focusing operations,aperture settings, exposure settings, zooming operations, shutter speed,effective focal length, etc. Embodiments, however, are not limited tothese examples.

In an avatar-based system (e.g., a video chatting system), it isimportant to capture a user's head gestures, as well as the user'sfacial expressions. In embodiments, these operations may be performed bydetection/tracking logic 203. In turn, these gestures and expressionsmay be expressed as animation parameters, where such animationparameters are transferred to a graphics rendering engine. In this way,the avatar system may be able to reproduce the original user's facialexpression on a virtual 3D model.

In some embodiments, a practical solution for detection/tracking logic203 may provide various features. For instance, detection/tracking logic203 may track rigid movement due to head gestures. Such rigid movementmay include (but is not limited to) translation, rotation and scalingfactors. Also, detection/tracking logic 203 may track non-rigidtransformation due to facial expressions, where the non-rigidtransformations may include multiple facial action units (e.g., sixtypical facial action units). Further, detection/tracking logic 203 maybe optimized in its implementation to run in real-time on one or moreprocessors (e.g., on Intel Atom 1.6 GHz processors).

Image sources 225 may further include one or more image sensorsincluding an array of sensor elements where these elements may becomplementary metal oxide semiconductor (CMOS) sensors, charge coupleddevices (CCDs), or other suitable sensor element types. These elementsmay generate analog intensity signals (e.g., voltages), which correspondto light incident upon the sensor. In addition, the image sensor mayalso include analog-to-digital converter(s) ADC(s) that convert theanalog intensity signals into digitally encoded intensity values.Embodiments, however, are not limited to these examples. For example, animage sensor converts light received through optics assembly into pixelvalues, where each of these pixel values represents a particular lightintensity at the corresponding sensor element. Although these pixelvalues have been described as digital, they may alternatively be analog.As described above, the image sensing device may include an image/videoencoder to encode and/or compress pixel values. Various techniques,standards, and/or formats (e.g., Moving Picture Experts Group (MPEG),Joint Photographic Expert Group (JPEG), etc.) may be employed for thisencoding and/or compression.

As aforementioned, image sources 225 may any number and type ofcomponents, such as image capturing devices (e.g., one or more cameras,etc.) and image sensing devices, such as (but not limited to)context-aware sensors (e.g., temperature sensors, facial expression andfeature measurement sensors working with one or more cameras,environment sensors (such as to sense background colors, lights, etc.),biometric sensors (such as to detect fingerprints, facial points orfeatures, etc.), and the like. Computing device 100 may also include oneor more software applications, such as business applications, socialnetwork websites (e.g., Facebook®, Google+®, Twitter®, etc.), businessnetworking websites (e.g., LinkedIn®, etc.), communication applications(e.g., Skype®, Tango®, Viber®, etc.), games and other entertainmentapplications, etc., offering one or more user interfaces (e.g., web userinterface (WUI), graphical user interface (GUI), touchscreen, etc.) todisplay the avatar and for the user to communicate with other users atother computing device 250, while ensuring compatibility with changingtechnologies, parameters, protocols, standards, etc.

Using detection/tracking logic 203, the avatar for the user's face isgenerated and its position in live video frames is located. This data isthen provided to computation engine 207 where further calculations areperformed, such as to derive the face size of the user in terms of facewidth and face height (e.g., face size=w*h, where w represents facewidth, and h represents face height). In one embodiment, reference valuecalculation logic 209 may be used to generate a reference value of abaseline or default avatar. For example, this referenced value may beprovided by a system user (such as a system administrator, a computerprogrammer, etc.) or automatically and dynamically calculated, viareference value calculation logic 209, using research-based dataretrieved from database 240, such as research performed over time mayprovide a typical distance between a user and a smartphone when the useris using a communication application as opposed to the distance betweena user and a laptop computer or a desktop computer, etc. For example,such research-based on distance or zooming-in and zooming-out may thenbe used to determine the default (or typical or expected) size of ahuman face when, for example, the person is laughing as opposed tocrying or simply leaning back, etc. This default face size may bereferred to as reference value and represented as a combination of w andh, such as w*h being 60*60.

Further, in one embodiment, image size calculation logic 211 maydynamically determine the changing image or face size of the currentuser and calculate, in real-time, the changing image or face size value.In one embodiment, these image size values along with the referencevalue are then used by avatar scale factor calculation logic 213 todetermine the exact location of the user's face with respect tocomputing device 100, such as whether and how much the user iszooming-in or zooming-out. Using avatar scale factor calculation logic213, an image size value as calculated by image size calculation logic211 is divided by the reference value as calculated by reference valuecalculation logic 209 to derive or compute an avatar scale factor. Forexample, if w*h of the image size value is 60*60, while the w*h of thereference value is also 60*60, then the avatar scale factor=face sizevalue/reference value=1.0. If the face size value is reduced to 30*30,the avatar scale value is reduced to 0.5 representing the user's face iszooming-out or getting away from image sources 225 of computing device100. On the contrary, if the face size value is increased to 120*120,the avatar scale value is increased to 2.0 representing the user's faceis zooming-in or getting closer to image source 225 of computing device100. It is contemplated that embodiments are not limited to a particularequation or formula and that, as aforementioned, the use of “human face”or “face size” in the above equation is merely used as an example forbrevity and ease of understanding and that embodiments are not limitedto it.

In one embodiment, extraction and deformation logic 215 may extractfacial points by 3D mesh and deform avatar by the user's facial gesture.For more details, see U.S. patent application Ser. No. 13/977,682, filedJun. 29, 2013, U.S. National Phase of PCT/CN2011/072603, filed Apr. 11,2011, entitled Avatar Facial Expression Techniques, by Yangzhou Du, etal. For example, one or more image sources 225, including professionalmotion capture device(s) (such as products from Vicon™ Motion Systems,of Oxford, United Kingdom), may be used to capture human facialexpressions, such as a human's face may be affixed (e.g., glued) withmarkers (e.g., 30-100 markers) while image source 225 may capture 3Dcoordinates of each marker in each frame when the human performsdifferent expressions. These coordinates may then be recorded forvarious expressions; exemplary expressions include (but are not limitedto) six types of basic expression (laugh, anger, surprise, sadness,fear, disgust), along with some of the aforementioned usual expressions,such as smile, frown, laugh, cry, happy, speak, silent, eat, drink,sing, yawn, sneeze, and the like. Each of these expressions may berepeated a few times which may result in a few minutes (e.g., about 10minutes) of expression data being recorded at database 240.

Once the expression data has been recorded at database 240, extractionand deformation logic 215 may access and preprocess the database 240 byextraction of the facial features for each frame of the database; moreparticularly, for each frame in the database, extraction and deformationlogic 215 may compute multiple facial features. The facial featuresrefer to the aforementioned nine facial features, but it is contemplatedthat embodiments are not limited to these particular nine facialfeatures.

In one embodiment, upon the extraction of the facial points by 3D meshand the deformation of the avatar by the user's facial gesture, scalinglogic 217 may be used to scale the animated avatar based on thepreviously obtained avatar scale factor or ration and display the scaledavatar via display device 230 and one or more of display devices 255.For example, if the avatar scale factor relating to the user's face is0.5 (e.g., 30*30/60*60), then the animated avatar corresponding to theuser's face is correspondingly adjusted (such as zooming-out or makingthe avatar half the size) according to the same scale (e.g.,glScale(0.5, 0.5, 0.5), representing x-axis, y-axis, and z-axis,respectively) being represented by one or more equations or formulae,such as glScalef(GLfloat x, GLfloat y, GLfloat z; where x, y, and z arex-axis, y-axis, and z-axis, respectively) or glTranslatef(GLfloat x,GLfloat y, GLfloat z), etc. Similarly, for example, if the user's faceis 2.0 (e.g., 120*120/60*60), then the animated avatar corresponding tothe user's face is correspondingly adjusted (such as zooming-in ormaking the avatar twice as large) according to the same scale (e.g.,2.0, 2.0, 2.0, representing x-axis, y-axis, and z-axis, respectively).It is contemplated that in this example, 60*60 represents the w*h ofdefault reference value, while 30*30 and 120*120 represent the w*h ofthe computed user face size values representing zooming-out andzooming-in, respectively, of the user's face with respect to imagesources 225 of computing device 100.

Communication/compatibility logic 219 may be used to facilitate dynamiccommunication and compatibility between various computing devices, suchas computing device 100 and computing devices 250 (such as a mobilecomputing device, a desktop computer, a server computing device, etc.),storage devices, databases and/or data sources, such as database 240,networks, such as network 270 (e.g., cloud network, the Internet,intranet, cellular network, proximity networks, such as Bluetooth,Bluetooth low energy (BLE), Bluetooth Smart, Wi-Fi proximity, RadioFrequency Identification (RFID), Near Field Communication (NFC), BodyArea Network (BAN), etc.), connectivity and location managementtechniques, software applications/websites, (e.g., social and/orbusiness networking websites, such as Facebook®, LinkedIn®, Google+®,Twitter®, etc., business applications, games and other entertainmentapplications, etc.), programming languages, etc., while ensuringcompatibility with changing technologies, parameters, protocols,standards, etc.

It is contemplated that any number and type of components 201-219 ofavatar mechanism 110 may not necessarily be at a single computing deviceand may be allocated among or distributed between any number and type ofcomputing devices, including computing devices 100, 250 having (but arenot limited to) server computing devices, cameras, PDAs, mobile phones(e.g., smartphones, tablet computers, etc.), personal computing devices(e.g., desktop devices, laptop computers, etc.), smart televisions,servers, wearable devices, media players, any smart computing devices,and so forth. Further examples include microprocessors, graphicsprocessors or engines, microcontrollers, application specific integratedcircuits (ASICs), and so forth. Embodiments, however, are not limited tothese examples.

Communication logic 265 of computing devices 250 may be similar to orthe same as communication/compatibility logic 219 of computing device100 and may be used to facilitate communication between avatar mechanism110 at computing device 100 and one or more software applications atcomputing devices 250 for communication of avatars over one or morenetworks, such as network 270. Further, logic 265, 219 may be arrangedor configured to use any one or more of communication technologies, suchas wireless or wired communications and relevant protocols (e.g.,Wi-Fi®, WiMAX, Ethernet, etc.), to facilitate communication over one ormore networks, such as network 270 (e.g., Internet, intranet, cloudnetwork, proximity network (e.g., Bluetooth, etc.). Database 240 mayinclude any number and type of devices or mediums (such as data storagedevices, hard drives, solid-state drives, hard disks, memory cards ordevices, memory circuits, etc.) for short-time and/or long-term storageof data (e.g., patient information, customization parameters, processprotocols, etc.), policies, resources, software programs orinstructions, etc. Each of computing device 250 may also include amemory and/or storage medium for storing, maintaining, and/or caching ofdata, including avatars and other relevant information, such as facialfeature points, etc.

Although one or more examples (e.g., a single human face, mobilecomputing device, etc.) may be discussed throughout this document forbrevity, clarity, and ease of understanding, it is contemplated thatembodiments are not limited to any particular number and type of users,avatars, forms of access to resources or computing devices, users,network or authentication protocols or processes, or the like. Forexample, embodiments are not limited to any particular network securityinfrastructures or protocols (e.g., single-sign-on (SSO) infrastructuresand protocols) and may be compatible with any number and type of networksecurity infrastructures and protocols, such as security assertionmarkup language (SAML), OAuth, Kerberos, etc.

Throughout this document, terms like “logic”, “component”, “module”,“framework”, “engine”, “point”, and the like, may be referencedinterchangeably and include, by way of example, software, hardware,and/or any combination of software and hardware, such as firmware.Further, any use of a particular brand, word, term, phrase, name, and/oracronym, such as “avatar”, “avatar scale factor”, “scaling”,“animation”, “human face”, “facial feature points”, “zooming-in”,“zooming-out”, etc., should not be read to limit embodiments to softwareor devices that carry that label in products or in literature externalto this document.

It is contemplated that any number and type of components may be addedto and/or removed from avatar simulation mechanism 110 to facilitatevarious embodiments including adding, removing, and/or enhancing certainfeatures. For brevity, clarity, and ease of understanding of avatarsimulation mechanism 110, many of the standard and/or known components,such as those of a computing device, are not shown or discussed here. Itis contemplated that embodiments, as described herein, are not limitedto any particular technology, topology, system, architecture, and/orstandard and are dynamic enough to adopt and adapt to any futurechanges.

FIG. 2B illustrates snapshots 281A-281C of an avatar 287A-287C beingdriven by a user's facial performance according to one embodiment. Asillustrated and in one embodiment, top left windows 283A-283C holds theimage of the user's face and shows a live video frame, where thedetected face is marked by inserts 285A-285C. In the left snapshot 281A,the user appears to be talking (e.g., open mouth) and having marked thisexpression via insert 285A, it is correspondingly reflected in thecorresponding avatar 287A and similarly, in the middle snapshot 281B,the user appears to be silent and listening with a particular with hiseyebrows raised and having marked this expression via insert 285B, thisis correspondingly reflected in the corresponding avatar 287B. Finally,in the right snapshot 281C, the user's head appears to be tilted to theuser's left and again, having marked this expression via insert 285C,this is correspondingly reflected in the corresponding avatar 287C.

FIG. 2C illustrates snapshots 291A-291C of an avatar 297A-297C beingdriven by a user's facial performance according to one embodiment. Inthe illustrated embodiment, snapshots 291A-291C provide varying faceinput sizes, such zoomed-in images or zoomed-out images, as shown in topleft windows 293A-293C and being portrayed via the corresponding avatars297A-297C. In the left snapshot 291A, the user appears to be zoomed-out(or farthest from the computing device) and having marked the user'sface size in insert 295A, the corresponding avatar 297A is shown to beaway from the viewing user. Similarly, in the middle snapshot 291B, theuser appears to be zoomed-in (or closer to the computing device)relative to the user position in snapshot 291A, and having marked theuser's face size in insert 295B, the corresponding avatar 297B is shownto be closer to the viewing user. Finally, in the right snapshot 291C,the user appears to be further zoomed-in (or closest to the computingdevice) relative to the user positions in snapshots 291A, 291B, andhaving marked the user's face size in insert 295C, the correspondingavatar 297C is shown to be the closest to the viewing user.

FIG. 3 illustrates a method 300 for facilitating user performance-basedsimulation and presentation of a corresponding avatar at a computingdevice according to one embodiment. Method 300 may be performed byprocessing logic that may comprise hardware (e.g., circuitry, dedicatedlogic, programmable logic, etc.), software (such as instructions run ona processing device), or a combination thereof. In one embodiment,method 300 may be performed by avatar simulation mechanism 110 FIG. 1.The processes of method 300 are illustrated in linear sequences forbrevity and clarity in presentation; however, it is contemplated thatany number of them can be performed in parallel, asynchronously, or indifferent orders. For brevity, clarity, and ease of understanding, manyof the details discussed with reference to FIGS. 1, 2A-2C are notdiscussed or repeated here.

Method 300 begins at block 305 with receiving and capturing of a live,real-time, video image of a user (e.g., user's face) via one or moreimage sources, such as a camera, at a computing device. At block 310,the user's image, such as the user's face, is detected and tracked whileits position with respect to the computing device (such as gettingcloser or moving away, etc.) is located in live, real-time, video frame.At block 315, in one embodiment, image sizes, such as face sizes of theuser's face, are determined and computed into an image size value, suchas face size value, which is then divided by a pre-determined orpre-calculated reference value to derive or obtain an avatar scalefactor. At block 320, facial points are extracted by a 3D mesh and thecorresponding avatar is deformed by using the data relating to theuser's facial gestures. At block 325, the animated avatar correspondingto the user's image, such as the user's face, is scaled using thederived avatar scale factor and then displayed using a display screen ofthe computing device.

FIG. 4 illustrates an embodiment of a computing system 400. Computingsystem 400 represents a range of computing and electronic devices (wiredor wireless) including, for example, desktop computing systems, laptopcomputing systems, cellular telephones, personal digital assistants(PDAs) including cellular-enabled PDAs, set top boxes, smartphones,tablets, etc. Alternate computing systems may include more, fewer and/ordifferent components. Computing device 400 may be the same as or similarto or include host machine 100 of FIG. 1 and/or one or more computingdevice 250 of FIG. 2A.

Computing system 400 includes bus 405 (or, for example, a link, aninterconnect, or another type of communication device or interface tocommunicate information) and processor 410 coupled to bus 405 that mayprocess information. While computing system 400 is illustrated with asingle processor, electronic system 400 and may include multipleprocessors and/or co-processors, such as one or more of centralprocessors, graphics processors, and physics processors, etc. Computingsystem 400 may further include random access memory (RAM) or otherdynamic storage device 420 (referred to as main memory), coupled to bus405 and may store information and instructions that may be executed byprocessor 410. Main memory 420 may also be used to store temporaryvariables or other intermediate information during execution ofinstructions by processor 410.

Computing system 400 may also include read only memory (ROM) and/orother storage device 430 coupled to bus 405 that may store staticinformation and instructions for processor 410. Date storage device 440may be coupled to bus 405 to store information and instructions. Datestorage device 440, such as magnetic disk or optical disc andcorresponding drive may be coupled to computing system 400.

Computing system 400 may also be coupled via bus 405 to display device450, such as a cathode ray tube (CRT), liquid crystal display (LCD) orOrganic Light Emitting Diode (OLED) array, to display information to auser. User input device 460, including alphanumeric and other keys, maybe coupled to bus 405 to communicate information and command selectionsto processor 410. Another type of user input device 460 is cursorcontrol 470, such as a mouse, a trackball, a touchscreen, a touchpad, orcursor direction keys to communicate direction information and commandselections to processor 410 and to control cursor movement on display450. Camera and microphone arrays 490 of computer system 400 may becoupled to bus 405 to observe gestures, record audio and video and toreceive and transmit visual and audio commands.

Computing system 400 may further include network interface(s) 480 toprovide access to a network, such as a local area network (LAN), a widearea network (WAN), a metropolitan area network (MAN), a personal areanetwork (PAN), Bluetooth, a cloud network, a mobile network (e.g.,3^(rd) Generation (3G), etc.), an intranet, the Internet, etc. Networkinterface(s) 480 may include, for example, a wireless network interfacehaving antenna 485, which may represent one or more antenna(e). Networkinterface(s) 480 may also include, for example, a wired networkinterface to communicate with remote devices via network cable 487,which may be, for example, an Ethernet cable, a coaxial cable, a fiberoptic cable, a serial cable, or a parallel cable.

Network interface(s) 480 may provide access to a LAN, for example, byconforming to IEEE 802.11b and/or IEEE 802.11g standards, and/or thewireless network interface may provide access to a personal areanetwork, for example, by conforming to Bluetooth standards. Otherwireless network interfaces and/or protocols, including previous andsubsequent versions of the standards, may also be supported.

In addition to, or instead of, communication via the wireless LANstandards, network interface(s) 480 may provide wireless communicationusing, for example, Time Division, Multiple Access (TDMA) protocols,Global Systems for Mobile Communications (GSM) protocols, Code Division,Multiple Access (CDMA) protocols, and/or any other type of wirelesscommunications protocols.

Network interface(s) 480 may include one or more communicationinterfaces, such as a modem, a network interface card, or otherwell-known interface devices, such as those used for coupling to theEthernet, token ring, or other types of physical wired or wirelessattachments for purposes of providing a communication link to support aLAN or a WAN, for example. In this manner, the computer system may alsobe coupled to a number of peripheral devices, clients, control surfaces,consoles, or servers via a conventional network infrastructure,including an Intranet or the Internet, for example.

It is to be appreciated that a lesser or more equipped system than theexample described above may be preferred for certain implementations.Therefore, the configuration of computing system 400 may vary fromimplementation to implementation depending upon numerous factors, suchas price constraints, performance requirements, technologicalimprovements, or other circumstances. Examples of the electronic deviceor computer system 400 may include without limitation a mobile device, apersonal digital assistant, a mobile computing device, a smartphone, acellular telephone, a handset, a one-way pager, a two-way pager, amessaging device, a computer, a personal computer (PC), a desktopcomputer, a laptop computer, a notebook computer, a handheld computer, atablet computer, a server, a server array or server farm, a web server,a network server, an Internet server, a work station, a mini-computer, amain frame computer, a supercomputer, a network appliance, a webappliance, a distributed computing system, multiprocessor systems,processor-based systems, consumer electronics, programmable consumerelectronics, television, digital television, set top box, wirelessaccess point, base station, subscriber station, mobile subscribercenter, radio network controller, router, hub, gateway, bridge, switch,machine, or combinations thereof.

Embodiments may be implemented as any or a combination of: one or moremicrochips or integrated circuits interconnected using a parentboard,hardwired logic, software stored by a memory device and executed by amicroprocessor, firmware, an application specific integrated circuit(ASIC), and/or a field programmable gate array (FPGA). The term “logic”may include, by way of example, software or hardware and/or combinationsof software and hardware.

Embodiments may be provided, for example, as a computer program productwhich may include one or more machine-readable media having storedthereon machine-executable instructions that, when executed by one ormore machines such as a computer, network of computers, or otherelectronic devices, may result in the one or more machines carrying outoperations in accordance with embodiments described herein. Amachine-readable medium may include, but is not limited to, floppydiskettes, optical disks, CD-ROMs (Compact Disc-Read Only Memories), andmagneto-optical disks, ROMs, RAMs, EPROMs (Erasable Programmable ReadOnly Memories), EEPROMs (Electrically Erasable Programmable Read OnlyMemories), magnetic or optical cards, flash memory, or other type ofmedia/machine-readable medium suitable for storing machine-executableinstructions.

Moreover, embodiments may be downloaded as a computer program product,wherein the program may be transferred from a remote computer (e.g., aserver) to a requesting computer (e.g., a client) by way of one or moredata signals embodied in and/or modulated by a carrier wave or otherpropagation medium via a communication link (e.g., a modem and/ornetwork connection).

References to “one embodiment”, “an embodiment”, “example embodiment”,“various embodiments”, etc., indicate that the embodiment(s) sodescribed may include particular features, structures, orcharacteristics, but not every embodiment necessarily includes theparticular features, structures, or characteristics. Further, someembodiments may have some, all, or none of the features described forother embodiments.

In the following description and claims, the term “coupled” along withits derivatives, may be used. “Coupled” is used to indicate that two ormore elements co-operate or interact with each other, but they may ormay not have intervening physical or electrical components between them.

As used in the claims, unless otherwise specified the use of the ordinaladjectives “first”, “second”, “third”, etc., to describe a commonelement, merely indicate that different instances of like elements arebeing referred to, and are not intended to imply that the elements sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

The following clauses and/or examples pertain to further embodiments orexamples. Specifics in the examples may be used anywhere in one or moreembodiments. The various features of the different embodiments orexamples may be variously combined with some features included andothers excluded to suit a variety of different applications. Examplesmay include subject matter such as a method, means for performing actsof the method, at least one machine-readable medium includinginstructions that, when performed by a machine cause the machine toperforms acts of the method, or of an apparatus or system forfacilitating hybrid communication according to embodiments and examplesdescribed herein.

Some embodiments pertain to Example 1 that includes an apparatus tofacilitate dynamic simulation of avatars based on user performances,comprising: reception and capturing logic to capture, in real-time, animage of a user, wherein the image includes a video image over aplurality of video frames; detection/tracking logic to track changes insize of the user image, wherein tracking the changes includes locatingone or more positions of the user image within each of the plurality ofvideo frames; computation engine to compute, in real-time, userperformances based on the changes in the size of the user image over theplurality of video frames; and scaling logic to dynamically scale anavatar associated with the user such that the avatar is dynamicallysimulated corresponding to the user performances.

Example 2 includes the subject matter of Example 1, wherein thereception and capturing logic is further to facilitate an image sourceto receive and capture the user image, wherein the image source includesa camera or a scanner.

Example 3 includes the subject matter of Example 1 or 2, whereinlocating the one or more positions comprises measuring one or moredistances between the user and the image source of the apparatus,wherein the one or more distances represent zooming-in or zooming-out ofthe user with respect to the image source.

Example 4 includes the subject matter of Example 1, wherein thecomputation engine comprises reference value calculation logic tocalculate, in real time and based on pre-determined criteria, areference value representing a default value.

Example 5 includes the subject matter of Example 1 or 4, wherein thecomputation engine further comprises image size calculation logic tocalculate, in real-time, an image size value based on the changes in thesize of the user image,

Example 6 includes the subject matter of Example 5, wherein thecomputation engine further comprises avatar scale factor calculationlogic to calculate, in real-time, an avatar factor based on the imagesize value by the reference value, wherein the image size value isdivided by the reference value.

Example 7 includes the subject matter of Example 1 or 6, userperformances are dynamically computed based on the avatar scale factor,wherein the user performances comprise zooming-in of the user orzooming-out of the user with respect to the image source of theapparatus, the user performances further comprising one or more humanexpressions including one or more of laugh, anger, surprise, sad, fear,disgust, smile, frown, cry, happy, speak, silent, eat, drink, sing,yawn, and sneeze.

Example 8 includes the subject matter of Example 11, further comprisinga display device to display the scaled avatar that is simulatedaccording to the user performances.

Example 9 includes the subject matter of Example 1, further comprisingextraction and deformation logic to extract a plurality of points on theuser image by facilitating, via mashing and mapping module, athree-dimensional mesh of the user image.

Example 10 includes the subject matter of Example 9, wherein theextraction and deformation logic is further to deform the avatar basedon the user's gestures as determined from the plurality of points on theuser image, wherein the user image includes an image of the user's face,and the plurality of points include a plurality of facial points on theuser's face.

Example 11 includes a method for facilitating dynamic simulation ofavatars based on user performances, comprising: capturing, in real-time,an image of a user, wherein the image includes a video image over aplurality of video frames; tracking changes in size of the user image,wherein tracking the changes includes locating one or more positions ofthe user image within each of the plurality of video frames; computing,in real-time, user performances based on the changes in the size of theuser image over the plurality of video frames; and dynamically scalingan avatar associated with the user such that the avatar is dynamicallysimulated corresponding to the user performances.

Example 12 includes the subject matter of Example 11, wherein capturingfurther comprises facilitate an image source to receive and capture theuser image, wherein the image source includes a camera or a scanner.

Example 13 includes the subject matter of Example 11, wherein locatingthe one or more positions comprises measuring one or more distancesbetween the user and the image source of the apparatus, wherein the oneor more distances represent zooming-in or zooming-out of the user withrespect to the image source.

Example 14 includes the subject matter of Example 11, wherein computingfurther comprises calculating, in real-time and based on pre-determinedcriteria, a reference value representing a default value.

Example 15 includes the subject matter of Example 14, wherein computingfurther comprises calculating, in real-time, an image size value basedon the changes in the size of the user image,

Example 16 includes the subject matter of Example 15, wherein computingfurther comprises calculating, in real-time, an avatar factor based onthe image size value by the reference value, wherein the image sizevalue is divided by the reference value.

Example 17 includes the subject matter of Example 11, user performancesare dynamically computed based on the avatar scale factor, wherein theuser performances comprise zooming-in of the user or zooming-out of theuser with respect to the image source of the apparatus, the userperformances further comprising one or more human expressions includingone or more of laugh, anger, surprise, sad, fear, disgust, smile, frown,cry, happy, speak, silent, eat, drink, sing, yawn, and sneeze.

Example 18 includes the subject matter of Example 11, further comprisingdisplaying, via a display device, the scaled avatar that is simulatedaccording to the user performances.

Example 19 includes the subject matter of Example 11, further comprisingextracting a plurality of points on the user image by facilitating athree-dimensional mesh of the user image.

Example 20 includes the subject matter of Example 19, further comprisingdeforming the avatar based on the user's gestures as determined from theplurality of points on the user image, wherein the user image includesan image of the user's face, and the plurality of points include aplurality of facial points on the user's face.

Example 21 includes at least one machine-readable medium comprising aplurality of instructions that in response to being executed on acomputing device, causes the computing device to carry out operationsaccording to any one of the aforementioned examples 11 to 20.

Example 22 includes at least one non-transitory or tangiblemachine-readable medium comprising a plurality of instructions that inresponse to being executed on a computing device, causes the computingdevice to carry out operations according to any one of theaforementioned examples 11 to 20.

Example 23 includes a system comprising a mechanism to carry outoperations according to any one of the aforementioned examples 11 to 20.

Example 24 includes an apparatus comprising means to carry outoperations according to any one of the aforementioned examples 11 to 20.

Example 25 includes a computing device arranged to carry out operationsaccording to any one of the aforementioned examples 11 to 20.

Example 26 includes a communications device arranged to carry outoperations according to any one of the aforementioned examples 11 to 20.

Example 27 includes a system comprising a storage device havinginstructions, and a processor to execute the instructions to facilitatea mechanism to perform one or more operations comprising: capturing, inreal-time, an image of a user, wherein the image includes a video imageover a plurality of video frames; tracking changes in size of the userimage, wherein tracking the changes includes locating one or morepositions of the user image within each of the plurality of videoframes; computing, in real-time, user performances based on the changesin the size of the user image over the plurality of video frames; anddynamically scaling an avatar associated with the user such that theavatar is dynamically simulated corresponding to the user performances.

Example 28 includes the subject matter of Example 27, wherein capturingfurther comprises facilitate an image source to receive and capture theuser image, wherein the image source includes a camera or a scanner.

Example 29 includes the subject matter of Example 27, wherein locatingthe one or more positions comprises measuring one or more distancesbetween the user and the image source of the apparatus, wherein the oneor more distances represent zooming-in or zooming-out of the user withrespect to the image source.

Example 30 includes the subject matter of Example 27, wherein computingfurther comprises calculating, in real-time and based on pre-determinedcriteria, a reference value representing a default value.

Example 31 includes the subject matter of Example 30, wherein computingfurther comprises calculating, in real-time, an image size value basedon the changes in the size of the user image.

Example 32 includes the subject matter of Example 31, wherein computingfurther comprises calculating, in real-time, an avatar factor based onthe image size value by the reference value, wherein the image sizevalue is divided by the reference value.

Example 33 includes the subject matter of Example 27, wherein the userperformances are dynamically computed based on the avatar scale factor,wherein the user performances comprise zooming-in of the user orzooming-out of the user with respect to the image source of theapparatus, the user performances further comprising one or more humanexpressions including one or more of laugh, anger, surprise, sad, fear,disgust, smile, frown, cry, happy, speak, silent, eat, drink, sing,yawn, and sneeze.

Example 34 includes the subject matter of Example 27, wherein the one ormore operations further comprise displaying, via a display device, thescaled avatar that is simulated according to the user performances.

Example 35 includes the subject matter of Example 27, wherein the one ormore operations further comprise extracting a plurality of points on theuser image by facilitating a three-dimensional mesh of the user image.

Example 36 includes the subject matter of Example 35, wherein the one ormore operations further comprise deforming the avatar based on theuser's gestures as determined from the plurality of points on the userimage, wherein the user image includes an image of the user's face, andthe plurality of points include a plurality of facial points on theuser's face.

Example 37 includes an apparatus comprising: means for capturing, inreal-time, an image of a user, wherein the image includes a video imageover a plurality of video frames; means for tracking changes in size ofthe user image, wherein means for tracking the changes includes meansfor locating one or more positions of the user image within each of theplurality of video frames; means for computing, in real-time, userperformances based on the changes in the size of the user image over theplurality of video frames; and means for dynamically scaling an avatarassociated with the user such that the avatar is dynamically simulatedcorresponding to the user performances.

Example 38 includes the subject matter of Example 37, wherein means forcapturing further comprises means for facilitate an image source toreceive and capture the user image, wherein the image source includes acamera or a scanner.

Example 39 includes the subject matter of Example 37, wherein means forlocating the one or more positions comprises means for measuring one ormore distances between the user and the image source of the apparatus,wherein the one or more distances represent zooming-in or zooming-out ofthe user with respect to the image source.

Example 40 includes the subject matter of Example 37, wherein means forcomputing further comprises means for calculating, in real-time andbased on pre-determined criteria, a reference value representing adefault value.

Example 41 includes the subject matter of Example 40, wherein means forcomputing further comprises means for calculating, in real-time, animage size value based on the changes in the size of the user image.

Example 42 includes the subject matter of Example 41, wherein means forcomputing further comprises means for calculating, in real-time, anavatar factor based on the image size value by the reference value,wherein the image size value is divided by the reference value.

Example 43 includes the subject matter of Example 37, wherein the userperformances are dynamically computed based on the avatar scale factor,wherein the user performances comprise zooming-in of the user orzooming-out of the user with respect to the image source of theapparatus, the user performances further comprising one or more humanexpressions including one or more of laugh, anger, surprise, sad, fear,disgust, smile, frown, cry, happy, speak, silent, eat, drink, sing,yawn, and sneeze.

Example 44 includes the subject matter of Example 37, further comprisingmeans for displaying, via a display device, the scaled avatar that issimulated according to the user performances.

Example 45 includes the subject matter of Example 37, further comprisingmeans for extracting a plurality of points on the user image byfacilitating a three-dimensional mesh of the user image.

Example 46 includes the subject matter of Example 45, further comprisingmeans for deforming the avatar based on the user's gestures asdetermined from the plurality of points on the user image, wherein theuser image includes an image of the user's face, and the plurality ofpoints include a plurality of facial points on the user's face.

The drawings and the forgoing description give examples of embodiments.Those skilled in the art will appreciate that one or more of thedescribed elements may well be combined into a single functionalelement. Alternatively, certain elements may be split into multiplefunctional elements. Elements from one embodiment may be added toanother embodiment. For example, orders of processes described hereinmay be changed and are not limited to the manner described herein.Moreover, the actions any flow diagram need not be implemented in theorder shown; nor do all of the acts necessarily need to be performed.Also, those acts that are not dependent on other acts may be performedin parallel with the other acts. The scope of embodiments is by no meanslimited by these specific examples. Numerous variations, whetherexplicitly given in the specification or not, such as differences instructure, dimension, and use of material, are possible. The scope ofembodiments is at least as broad as given by the following claims.

What is claimed is:
 1. An apparatus comprising: reception and capturinglogic to capture, in real-time, a live image of a user, wherein the liveimage includes a live video image over a plurality of video frames,wherein the live image is being communicated, in real-time, forfacilitating live viewing of a live avatar corresponding to the liveimage using one or more display screens of the apparatus or one of morecomputing devices; detection/tracking logic to track changes in size ofthe live image, wherein tracking the changes includes locating one ormore positions of the live image within each of the plurality of videoframes; computation engine to compute, in real-time, user performancesbased on the changes in the size of the live image over the plurality ofvideo frames, wherein the use performances are further computed based onthe user's gestures including facial expressions as interpreted fromtracking of a plurality of facial point on the user's face; and scalinglogic to dynamically scale the live avatar associated with the user andcorresponding to the live image such that the live avatar is dynamicallysimulated corresponding to the user performances.
 2. The apparatus ofclaim 1, wherein the reception and capturing logic is further tofacilitate an image source to receive and capture the live image,wherein the image source includes a camera or a scanner.
 3. Theapparatus of claim 1, wherein locating the one or more positionscomprises measuring one or more distances between the user and the imagesource of the apparatus, wherein the one or more distances representzooming-in or zooming-out of the user with respect to the image source.4. The apparatus of claim 1, wherein the computation engine comprisesreference value calculation logic to calculate, in real time and basedon pre-determined criteria, a reference value representing a defaultvalue.
 5. The apparatus of claim 4, wherein the computation enginefurther comprises image size calculation logic to calculate, inreal-time, an image size value based on the changes in the size of thelive image.
 6. The apparatus of claim 5, wherein the computation enginefurther comprises avatar scale factor calculation logic to calculate, inreal-time, an avatar factor based on the image size value by thereference value, wherein the image size value is divided by thereference value.
 7. The apparatus of claim 1, wherein the userperformances are dynamically computed based on the avatar scale factor,wherein the user performances comprise zooming-in of the user orzooming-out of the user with respect to the image source of theapparatus, the user performances further comprising one or more humanexpressions including one or more of laugh, anger, surprise, sad, fear,disgust, smile, frown, cry, happy, speak, silent, eat, drink, sing,yawn, and sneeze.
 8. The apparatus of claim 1, further comprising adisplay device to display the scaled live avatar that is simulatedaccording to the user performances.
 9. The apparatus of claim 1, furthercomprising extraction and deformation logic to extract a plurality ofpoints on the live image by facilitating, via mashing and mappingmodule, a three-dimensional mesh of the live image.
 10. The apparatus ofclaim 9, wherein the extraction and deformation logic is further todeform the live avatar based on the user's gestures as determined fromthe plurality of points on the live image, wherein the live imageincludes an image of the user's face, and the plurality of pointsinclude the plurality of facial points on the user's face.
 11. A methodcomprising: capturing, in real-time, a live image of a user, wherein thelive image includes a live video image over a plurality of video frames,wherein the live image is being communicated, in real time, forfacilitating live viewing of a live avatar corresponding to the liveimage using one of more display screens of a computing device or one ofmore other computing devices; tracking changes in size of the liveimage, wherein tracking the changes includes locating one or morepositions of the live image within each of the plurality of videoframes; computing, in real-time, user performances based on the changesin the size of the live image over the plurality of video frames,wherein the user performances are further computer based on the user'sgestures including facial expressions as interpreted from tracking ofplurality of facial points on the user's face; and dynamically scalingthe live avatar associated with the user and corresponding to the liveimage such that the live avatar is dynamically simulated correspondingto the user performances.
 12. The method of claim 11, wherein capturingfurther comprises facilitating an image source to receive and capturethe live image; wherein the image source includes a camera or a scanner.13. The method of claim 11, wherein locating the one or more positionscomprises measuring one or more distances between the user and the imagesource of the computing device, wherein the one or more distancesrepresent zooming-in or zooming-out of the user with respect to theimage source.
 14. The method of claim 11, wherein computing furthercomprises calculating, in real-time and based on pre-determinedcriteria, a reference value representing a default value.
 15. The methodof claim 14, wherein computing further comprises calculating, inreal-time, an image size value based on the changes in the size of thelive image.
 16. The method of claim 15, wherein computing furthercomprises calculating, in real-time, an avatar factor based on the imagesize value by the reference value, wherein the image size value isdivided by the reference value.
 17. The method of claim 11, wherein theuser performances are dynamically computed based on the avatar scalefactor, wherein the user performances comprise zooming-in of the user orzooming-out of the user with respect to the image source of thecomputing device, the user performances further comprising one or morehuman expressions including one or more of laugh, anger, surprise, sad,fear, disgust, smile, frown, cry, happy, speak, silent, eat, drink,sing, yawn, and sneeze.
 18. The method of claim 11, further comprisingdisplaying, via a display device, the scaled live avatar that issimulated according to the user performances.
 19. The method of claim11, further comprising extracting a plurality of points on the liveimage by facilitating a three-dimensional mesh of the live image. 20.The method of claim 19, further comprising deforming the live avatarbased on the user's gestures as determined from the plurality of pointson the live image, wherein the live image includes an image of theuser's face, and the plurality of points include a plurality of facialpoints on the user's face.
 21. At least one non-transitorymachine-readable medium comprising a plurality of instructions that inresponse to being executed on a computing device, causes the computingdevice to: capture, in real-time, a live image of a user, wherein thelive image includes a live video image over a plurality of video frames,wherein the live image is being communicated, in real time, forfacilitating live viewing of a live avatar corresponding to the liveimage using one or more display screens of the computing device or oneof more other computing devices; track changes in size of the liveimage, wherein tracking the changes includes locating one or morepositions of the live image within each of the plurality of videoframes; compute, in real-time, user performances based on the changes inthe size of the live image over the plurality of video frames, whereinthe user performances are further computer based on the user's gesturesincluding facial expressions as interpreted from tracking a plurality offacial points on the user's face; and dynamically scale the live avatarassociated with the user and corresponding to the live image such thatthe live avatar is dynamically simulated corresponding to the userperformances.
 22. The non-transitory machine-readable medium of claim21, wherein the computing device is further to facilitate an imagesource to receive and capture the live image, wherein the image sourceincludes a camera or a scanner, and wherein locating the one or morepositions comprises measuring one or more distances between the user andthe image source of the computing device, wherein the one or moredistances represent zooming-in or zooming-out of the user with respectto the image source.
 23. The non-transitory machine-readable medium ofclaim 21, wherein the computing device is further to calculate, inreal-time and based on pre-determined criteria, a reference valuerepresenting a default value, wherein computing further comprisescalculating, in real-time, an image size value based on the changes inthe size of the live image, and wherein computing further comprisescalculating, in real-time, an avatar factor based on the image sizevalue by the reference value, wherein the image size value is divided bythe reference value.
 24. The non-transitory machine-readable medium ofclaim 21, wherein the user performances are dynamically computed basedon the avatar scale factor, wherein the user performances comprisezooming-in of the user or zooming-out of the user with respect to theimage source of the computing device, the user performances furthercomprising one or more human expressions including one or more of laugh,anger, surprise, sad, fear, disgust, smile, frown, cry, happy, speak,silent, eat, drink, sing, yawn, and sneeze.
 25. The machine-readablemedium of claim 21, wherein the computing device is further to: extracta plurality of points on the live image by facilitating athree-dimensional mesh of the live image; and deform the live avatarbased on the user's gestures as determined from the plurality of pointson the live image, wherein the live image includes an image of theuser's face, and the plurality of points include a plurality of facialpoints on the user's face, wherein the scaled live avatar beingsimulated according to the user performances is displayed via a displaydevice.